package com.example.pages;

import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;

public class LoginPage extends AnyPage {

    @FindBy(id = "loginform")
    public WebElement loginForm;

    @FindBy(id = "username")
    public WebElement userNameField;

    @FindBy(name = "password")
    public WebElement passwordField;

    @FindBy(name = "submit")
    public WebElement loginButton;

    public boolean isOnThisPage() {
        return loginForm.isDisplayed();
    }

    public InternalPage loginAs(String userName, String password) {
        userNameField.clear();
        userNameField.sendKeys(userName);
        passwordField.clear();
        passwordField.sendKeys(password);
        loginButton.click();
        return MyPageFactory.getPage(driver, InternalPage.class);
    }

    @Override
    void tryToOpen() {
        MyPageFactory.getPage(driver, InternalPage.class).logout();
    }

}
